// import 'dart:convert';
//
// import 'package:flutter_base/common/utils/utils.dart';
// import 'package:flutter_base/common/values/values.dart';
// import 'package:flutter_base/common/widgets/widgets.dart';
// import 'package:flutter_base/pages/workFlow/entitys/WorkFlowFindAllByMyselfResponseEntity.dart';
// import 'package:flutter/material.dart';
//
// class TimeLineWidget extends StatefulWidget {
//   final double? dotSize;
//   final String? title;
//   final String? subTitle;
//   final String date;
//   final String? status;
//   final String? userName;
//   final Color? color;
//   final bool top;
//   final bool bottom;
//   final bool? isActive;
//   final TimeLineItem? item;
//   final NodeInfo? nodeInfo;
//
//   const TimeLineWidget(
//       {Key? key,
//       this.dotSize,
//       this.title,
//       this.subTitle,
//       this.date = '',
//       this.color,
//       this.isActive,
//       this.top = false,
//       this.bottom = false,
//       this.item,
//       this.nodeInfo,
//       this.status,
//       this.userName})
//       : super(key: key);
//
//   @override
//   State<StatefulWidget> createState() {
//     return new TimeLineWidgetState();
//   }
// }
//
// class TimeLineWidgetState extends State<TimeLineWidget> {
//   List users = [];
//
//   @override
//   void initState() {
//     if (widget.nodeInfo?.userName != null && widget.nodeInfo != null) {
//       users = widget.nodeInfo!.userName!.split(',').toList();
//       //筛选已会签人员
//       if(widget.nodeInfo!.identityUser!=null){
//         for(IdentityUser item in widget.nodeInfo!.identityUser!){
//           if(users.contains(item.userName)){
//             users.remove(item.userName);
//           }
//         }
//       }
//     }
//
//     super.initState();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return Container(
//       color: Colors.white,
//       child: Stack(
//         children: <Widget>[
//           widget.bottom
//               ? Positioned(
//                   top: widget.top ? 66.0 : 0.0,
//                   left: zhiSetWidth(28),
//                   child: Container(
//                     width: 2.5,
//                     color: Colors.grey[300],
//                     height: 30,
//                   ),
//                 )
//               : new Positioned(
//                   top: widget.top ? 66.0 : 0.0,
//                   bottom: widget.bottom
//                       ? isEmpty(widget.item?.signature ?? '')
//                           ? zhiSetHeight(100)
//                           : zhiSetHeight(140)
//                       : 0.0,
//                   left: zhiSetWidth(28),
//                   child: Container(
//                     width: 2.5,
//                     color: Colors.grey[300],
//                   ),
//                 ),
//           Padding(
//             padding: const EdgeInsets.symmetric(vertical: 16.0),
//             child: new Row(
//               crossAxisAlignment: CrossAxisAlignment.start,
//               children: <Widget>[
//                 new Padding(
//                   padding:
//                       new EdgeInsets.symmetric(horizontal: 10, vertical: 6),
//                   child: new Stack(
//                     children: [
//                       Container(
//                         margin: EdgeInsets.only(right: 10),
//                         width: zhiSetWidth(40),
//                         height: zhiSetWidth(40),
//
//                         //边框设置
//                         decoration: new BoxDecoration(
//                           //背景
//                           color: AppColors.primaryElement,
//                           //设置四周圆角 角度
//                           borderRadius: BorderRadius.all(Radius.circular(6.0)),
//                           //设置四周边框
//                         ),
//                         child: Center(
//                           child: users.length > 0
//                               ? Icon(
//                                   Icons.account_box,
//                                   color: Colors.white,
//                                 )
//                               : Text(
//                                   nickName(widget.item?.user ??
//                                       widget.userName ??
//                                       ''),
//                                   style: TextStyle(
//                                       color: Colors.white,
//                                       fontWeight: FontWeight.w500),
//                                 ),
//                         ),
//                       ),
//                       Positioned(
//                         child: ClipOval(
//                           child: StatusIcon(widget.status),
//                         ),
//                         right: 3,
//                         bottom: -2,
//                       ),
//                     ],
//                   ),
//                 ),
//                 new Expanded(
//                   child: Padding(
//                     padding: const EdgeInsets.only(right: 10, top: 3),
//                     child: Column(
//                       mainAxisSize: MainAxisSize.min,
//                       crossAxisAlignment: CrossAxisAlignment.start,
//                       children: [
//                         Container(
//                           padding: EdgeInsets.symmetric(horizontal: 8),
//                           child: Row(
//                             children: [
//                               Text(
//                                 widget.item?.title ?? widget.title ?? '',
//                                 style: TextStyle(
//                                     fontWeight: FontWeight.w500, fontSize: 16),
//                               ),
//                               Spacer(),
//                               Text(
//                                 formatDateStr(widget.item?.date ?? '',
//                                     format: 'yyyy-MM-dd HH:mm'),
//                                 // formatDateStr(widget.item?.createTime??'',format: 'yyyy-MM-dd HH:mm'),
//                                 style: TextStyle(color: Colors.grey),
//                               ),
//                             ],
//                           ),
//                         ),
//                         Padding(
//                           padding: const EdgeInsets.all(8.0),
//                           child: Text(
//                               '${widget.subTitle ?? ''}${StatusString(widget.status ?? '')}'),
//                         ),
//                         Wrap(
//                           children: users.map<Widget>((item) {
//                             return Padding(
//                               padding: const EdgeInsets.all(8.0),
//                               child: Column(
//                                 crossAxisAlignment: CrossAxisAlignment.center,
//                                 children: [
//                                   Container(
//                                     // margin: EdgeInsets.only(right: 10),
//                                     width: zhiSetWidth(30),
//                                     height: zhiSetWidth(30),
//
//                                     //边框设置
//                                     decoration: new BoxDecoration(
//                                       //背景
//                                       color: AppColors.primaryElement,
//                                       //设置四周圆角 角度
//                                       borderRadius: BorderRadius.all(
//                                           Radius.circular(6.0)),
//                                       //设置四周边框
//                                     ),
//                                     child: Center(
//                                       child: Text(
//                                         nickName(item),
//                                         style: TextStyle(
//                                             fontSize: 12,
//                                             color: Colors.white,
//                                             fontWeight: FontWeight.w500),
//                                       ),
//                                     ),
//                                   ),
//                                   Text(item,
//                                       style: TextStyle(
//                                         fontSize: 12,
//                                         color: Colors.grey,
//                                       )),
//                                 ],
//                               ),
//                             );
//                           }).toList(),
//                         ),
//                         isEmpty(widget.item?.remark ?? '')
//                             ? Container()
//                             : FractionallySizedBox(
//                                 child: Container(
//                                     margin: EdgeInsets.only(left: 8),
//                                     padding: EdgeInsets.all(8),
//                                     child: Text(widget.item!.remark!),
//                                     decoration: new BoxDecoration(
//                                       //背景
//                                       color: Colors.grey[200],
//                                       //设置四周圆角 角度
//                                       borderRadius: BorderRadius.all(
//                                           Radius.circular(4.0)),
//                                     )),
//                                 widthFactor: 1,
//                               ),
//                         isEmpty(widget.item?.signature ?? '')
//                             ? Container()
//                             : Padding(
//                                 padding: const EdgeInsets.only(left: 8,top: 10),
//                                 child: Row(
//                                   children: [
//                                     Text('签名：'),
//
//                                     // loadAssetImage(
//                                     //   widget.item?.signature??'',
//                                     //   width: zhiSetWidth(100),
//                                     // )
//                                     Image.memory(
//                                       base64.decode(widget.item!.signature!.replaceAll(
//                                               'data:image/png;base64,', '')),
//                                       fit: BoxFit.contain,
//                                       width: zhiSetWidth(100),
//                                       // height: zhiSetWidth(60),
//                                     ),
//                                   ],
//                                 ),
//                               )
//                         // Text('我'),
//                       ],
//                     ),
//                   ),
//                 ),
//               ],
//             ),
//           )
//         ],
//       ),
//     );
//   }
//
//   Widget StatusIcon(String? status) {
//     switch (status) {
//
//       ///同意
//       case '1':
//         return loadAssetImage('icon_agree',
//             width: zhiSetWidth(16), height: zhiSetWidth(16));
//
//       ///退回
//       case '0':
//         return loadAssetImage('icon_return',
//             width: zhiSetWidth(16), height: zhiSetWidth(16));
//     ///拒绝
//       case '2':
//         return loadAssetImage('icon_refuse',
//             width: zhiSetWidth(16), height: zhiSetWidth(16));
//       ///待审批
//       case '4':
//         return loadAssetImage('icon_doing',
//             width: zhiSetWidth(16), height: zhiSetWidth(16));
//       default:
//         return Container();
//     }
//   }
//
//   String StatusString(String status) {
//     switch (status) {
//       // case '1':
//       //   return '（已同意）';
//       // case '0':
//       //   return '（退回）';
//       // case '2':
//       //   return '';
//       default:
//         return '';
//     }
//   }
// }
//
// class TimeLineItem {
//   String? user;
//   String? title;
//   String? subTitle;
//   String? date;
//   String createTime;
//   String status;
//   String? remark;
//   String? signature;
//   NodeInfo? nodeInfo;
//
//   TimeLineItem({
//     this.user = '',
//     this.title = '',
//     this.subTitle = '',
//     this.date = '',
//     this.createTime = '',
//     this.status = '',
//     this.remark = '',
//     this.signature = '',
//     this.nodeInfo,
//   });
// }
